-- ================================================
-- Template generated from Template Explorer using:
-- Create Procedure (New Menu).SQL
--
-- Use the Specify Values for Template Parameters 
-- command (Ctrl-Shift-M) to fill in the parameter 
-- values below.
--
-- This block of comments will not be included in
-- the definition of the procedure.
-- ================================================
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author:		<Author,,Name>
-- Create date: <Create Date,,>
-- Description:	<Description,,>
-- =============================================
CREATE PROCEDURE GOOGLECODERS.UsuarioRolUpd
	-- Add the parameters for the stored procedure here
	@IdUser int, 
	@QueryUnions varchar(1000)
AS
BEGIN
	-- SET NOCOUNT ON added to prevent extra result sets from
	-- interfering with SELECT statements.
	SET NOCOUNT ON;
	SET XACT_ABORT ON;
	DECLARE @TablaAux Table(IdUser int NOT NULL,IdRol int NOT NULL)

	DECLARE @CountRows int;
	
	INSERT INTO @TablaAux
	EXEC(@QueryUnions)


	BEGIN TRAN

		DELETE GOOGLECODERS.Usuario_x_Rol
		WHERE IdUser = @IdUser

		SELECT @CountRows = COUNT(*) FROM 
		@TablaAux

		INSERT INTO GOOGLECODERS.Usuario_x_Rol
		SELECT * FROM @TablaAux

		IF ( @CountRows = (SELECT COUNT(*) FROM 
		GOOGLECODERS.Usuario_x_Rol))
	COMMIT TRAN
		ELSE
		BEGIN
	ROLLBACK TRAN
		END

END
GO
